--    Author    : ChenErHao
--    Name      : ADM.RPT_BAL_ORG.HQL
--    Functions : 
--    Purpose   : Daily saving the variation data from stg
--    Revisions or Comments
--    VER        DATE        AUTHOR           DESCRIPTION
--   ---------  ----------  ---------------  ------------------------------------
--    1.0        2019-01-27  ChenErHao       1.CREATE THE PROCEDURE
--

INSERT  OVERWRITE TABLE ADM.RPT_BAL_ORG PARTITION (DATA_DATE = '#V_DATA_DATE#',DATA_SRC_ORG) 

-- 全金融机构
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(DEP_BALANCE) AS AMOUNT                                                    -- 金额合计
   ,'A01' AS SUBJECT_SEQ                                                          -- 指标编码
   ,'D' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                                  -- 上报机构
  FROM EDW.DEPB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#'
 GROUP BY 
   DATA_SRC_ORG
  ,JRTJ_AREA_CODE
 
UNION ALL
 -- A03 城商行   
 -- A04 农合机构 
 -- A05 村镇银行 
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(DEP_BALANCE) AS AMOUNT                                                 -- 金额合计
   ,CASE WHEN DATA_ORG_TYPE IN ('A0301','A0302','A0303') THEN 'A02' 
         WHEN DATA_ORG_TYPE IN ('A0401','A0402','A0403') THEN 'A06'
         WHEN DATA_ORG_TYPE='A05' THEN 'A10'
     END AS SUBJECT_SEQ                                                            -- 指标编码
   ,'D' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                               -- 上报机构
  FROM EDW.DEPB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#'
 GROUP BY 
  DATA_SRC_ORG
  ,DATA_ORG_TYPE
  ,JRTJ_AREA_CODE

UNION ALL
 -- A0301 北部湾银行
 -- A0302 柳州银行
 -- A0303 桂林银行
 -- A0401 农村信用合作社
 -- A0402 农村商业银行
 -- A0403 农村合作银行
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(DEP_BALANCE) AS AMOUNT                                                 -- 金额合计
   ,CASE WHEN DATA_ORG_TYPE='A0301' THEN 'A03' 
         WHEN DATA_ORG_TYPE='A0302' THEN 'A04'
         WHEN DATA_ORG_TYPE='A0303' THEN 'A05'
         WHEN DATA_ORG_TYPE='A0401' THEN 'A09' 
         WHEN DATA_ORG_TYPE='A0402' THEN 'A07'
         WHEN DATA_ORG_TYPE='A0403' THEN 'A08'
    END AS SUBJECT_SEQ                                                            -- 指标编码
   ,'D' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                               -- 上报机构
  FROM EDW.DEPB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#' AND DATA_ORG_TYPE IN ('A0301','A0302','A0303','A0401','A0402','A0403')    -- 机构l类型为 北部湾银行、柳州银行、桂林银行、农村信用合作社、农村商业银行、农村合作银行
 GROUP BY 
  DATA_SRC_ORG
  ,DATA_ORG_TYPE
  ,JRTJ_AREA_CODE
 
UNION ALL
-- 全金融机构
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(LOAN_BALANCE) AS AMOUNT                                                   -- 金额合计
   ,'A01' AS SUBJECT_SEQ                                                          -- 指标编码
   ,'L' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                                  -- 上报机构
  FROM EDW.LOAB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#'
 GROUP BY 
  DATA_SRC_ORG
  ,JRTJ_AREA_CODE
 
UNION ALL
 -- A03 城商行   
 -- A04 农合机构 
 -- A05 村镇银行 
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(LOAN_BALANCE) AS AMOUNT                                                -- 金额合计
   ,CASE WHEN DATA_ORG_TYPE IN ('A0301','A0302','A0303') THEN 'A02' 
         WHEN DATA_ORG_TYPE IN ('A0401','A0402','A0403') THEN 'A06'
         WHEN DATA_ORG_TYPE='A05' THEN 'A10'
    END AS SUBJECT_SEQ                                                            -- 指标编码
   ,'L' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                               -- 上报机构
  FROM EDW.LOAB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#'
 GROUP BY 
  DATA_SRC_ORG
  ,DATA_ORG_TYPE
  ,JRTJ_AREA_CODE

UNION ALL
 -- A0301 北部湾银行
 -- A0302 柳州银行
 -- A0303 桂林银行
 -- A0401 农村信用合作社
 -- A0402 农村商业银行
 -- A0403 农村合作银行
 SELECT 
    FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss') AS BATCH_DATE           -- 跑批日期
   ,JRTJ_AREA_CODE                                                                  -- 集中系统地区编码
   ,SUM(LOAN_BALANCE) AS AMOUNT                                                -- 金额合计
   ,CASE WHEN DATA_ORG_TYPE='A0301' THEN 'A03' 
         WHEN DATA_ORG_TYPE='A0302' THEN 'A04'
         WHEN DATA_ORG_TYPE='A0303' THEN 'A05'
         WHEN DATA_ORG_TYPE='A0401' THEN 'A09' 
         WHEN DATA_ORG_TYPE='A0402' THEN 'A07'
         WHEN DATA_ORG_TYPE='A0403' THEN 'A08'
    END AS SUBJECT_SEQ                                                            -- 指标编码
   ,'L' AS FLAG                                                                   -- 存贷标识
   ,DATA_SRC_ORG                                                               -- 上报机构
  FROM EDW.LOAB_INFO 
 WHERE DATA_DATE='#V_DATA_DATE#' AND DATA_ORG_TYPE IN ('A0301','A0302','A0303','A0401','A0402','A0403')    -- 机构三级为 北部湾银行、柳州银行、桂林银行、农村信用合作社、农村商业银行、农村合作银行
 GROUP BY 
  DATA_SRC_ORG
  ,DATA_ORG_TYPE
  ,JRTJ_AREA_CODE
;